ci: daily Hacktoberfest 2026 prep tracker refresh (cron 11:50 UTC) - #15225
Merged
cclauss merged 4 commits intoSep 8, 2026
Conversation
Adds .github/workflows/hacktoberfest_prep.yml (schedule: 50 11 * * *) and scripts/hacktoberfest_prep_update.py. Each run: - ticks tracked PR rows in docs/hacktober_2026_prep.md that are now merged/closed (`[ ]` -> `[x]`), - rewrites an 'Automated statistics' section with the current open issue and open PR counts plus the top three directories with the most open 'awaiting reviews' PRs, - exits non-zero once Hacktoberfest 2026 has begun (>= 2026-10-01), so the prep window closing is loud and the job gets retired. Standard library only; uses the Actions GITHUB_TOKEN. Refs TheAlgorithms#15081.
for more information, see https://pre-commit.ci
cclauss
reviewed
Sep 8, 2026
| Actions runner, so there is nothing to install. | ||
| """ | ||
|
|
||
| from __future__ import annotations |
Member
There was a problem hiding this comment.
Please add to github/skills/*/SKILL.md: The line from __future__ import annotations is not needed on a repo that only supports Python >= 3.14t.
cclauss
requested changes
Sep 8, 2026
cclauss
reviewed
Sep 8, 2026
| import time | ||
| import urllib.error | ||
| import urllib.parse | ||
| import urllib.request |
Member
There was a problem hiding this comment.
Can we / should we use httpx2 instead
Address review feedback on the Hacktoberfest prep cron: - Switch the tracker script from urllib to httpx2, the repo's standard HTTP client, and add an install step to the workflow. - Drop 'from __future__ import annotations' (unnecessary on Python >= 3.14t).
Contributor
Author
|
Thanks for the review — both addressed in 9a540d3:
Ruff 0.16.5 clean (check + format). |
cclauss
approved these changes
Sep 8, 2026
This was referenced Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As requested on #15081.
Describe your change:
Adds a daily GitHub Actions cron job that keeps
docs/hacktober_2026_prep.mdcurrent on its own until Hacktoberfest begins..github/workflows/hacktoberfest_prep.yml—schedule: "50 11 * * *"(11:50 UTC daily) plusworkflow_dispatchfor manual runs. Guarded togithub.repository == 'TheAlgorithms/Python'so forks do not run it, and it commits any tracker changes back with the ActionsGITHUB_TOKEN.scripts/hacktoberfest_prep_update.py(standard library only) does three things each run:[ ], it checks the live PR state and ticks the box ([ ] -> [x]) withmerged/closedwhen the PR has resolved.## Automated statisticssection at the end of the file with the current number of open issues and open pull requests.awaiting reviews.It fails on purpose after 2026-10-01 (the script returns a non-zero exit code once Hacktoberfest 2026 has begun), so the prep window closing is loud rather than silent and the job can be retired. The workflow still commits any final changes before propagating that exit code.
The stats section and any newly-resolved checkboxes are populated by the first scheduled (or manually dispatched) run, so this PR keeps the diff to just the workflow + script. I ran the script locally against the live repo to verify the PR-state lookups, the open-issue/PR counts, and the
awaiting reviewsdirectory ranking all work;ruff checkandruff formatare clean.Checklist:
scripts/).ruff-clean and formatted.